package com.chinacoal.microservice.fallback;


import com.alibaba.fastjson.JSONObject;
import com.chinacoal.microservice.CostManagementClient;
import com.chinacoal.microservice.pojo.*;
import com.chinacoal.microservice.util.CodeMsg;
import com.chinacoal.microservice.util.QueryCriteria;
import com.chinacoal.microservice.util.Result;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @author zhuliang
 * @version V1.0
 * @Description: 运维模块-费用管理-异常回退类
 * @date 2020-11-25 20：01
 */
@Component
public class CostManagementClientFallback implements CostManagementClient {

    /**
     * @Description: 查询所有的费用信息(带分页)
     * @author zhuliang
     * @date 2020/11/27 9:50
     */
    @Override
    public Result<List<CcmsSmartleasingExpenseManag>> getAllByExpenseManag(QueryCriteria queryCriteria, String token) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 条件查询所有的费用信息(带分页)
     * @author zhuliang
     * @date 2020/11/27 10:37
     */
    @Override
    public Result<List<CcmsSmartleasingExpenseManag>> getAllExpenseManagByCondition(QueryCriteria queryCriteria, String token) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 通过费用信息id查询相关历史付费
     * @author liule
     * @date 2022/10/09
     */
    @Override
    public Result<List<CcmsSmartleasingHistoricalPayment>> getHistoricalPaymentsByExpenseManagId(String fkExpenseManagId, String token) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 通过费用信息id查询费用详情
     * @author zhuliang
     * @date 2020/11/27 11:34
     */
    @Override
    public Result<CcmsSmartleasingNotice> getNoticeByContractId(String fkExpenseManagId, String token) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 通过费用信息id得到要抄表所需要回显的信息
     * @author zhuliang
     * @date 2020/11/27 14:00
     */
    @Override
    public Result<CcmsSmartleasingExpenseManag> meterReadingByExpenseManagId(String pkExpenseManagId, String token) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 录入抄表信息
     * @author zhuliang
     * @date 2020/11/27 14:24
     */
    @Override
    public Result addMeterReadingInformation(CcmsSmartleasingExpenseEntry expenseEntry, String token) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    @Override
    public Result importMeterReadingInformations(MultipartFile file, String token) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    @Override
    public void downloadTemplateFile(HttpServletResponse response, String token) {
    }

    @Override
    public Result lockCost( String token) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 缴费
     * @author zhuliang
     * @date 2020/12/4 17:59
     */
    @Override
    public Result pay(CcmsSmartleasingExpenseManag expenseManag, String token) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 审核的回显信息获取
     * @author zhuliang
     * @date 2020/12/5 10:02
     */
    @Override
    public Result<CcmsSmartleasingNotice> getAuditEcho(String pkExpenseManagId, String token) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 抄表审核
     * @author zhuliang
     * @date 2020/12/5 11:01
     */
    @Override
    public Result meterReadingReview(CcmsSmartleasingExpenseEntry expenseEntry, String token) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 线下开票
     * @author zhuliang
     * @date 2020/12/5 17:54
     */
    @Override
    public Result offlineInvoicing(CcmsSmartleasingExpenseManag expenseManag, String token) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 通过费用信息id的字符串集合来进行批量开票
     * @author zhuliang
     * @date 2020/11/30 9:43
     */
    @Override
    public Result invoicing(String pkExpenseManagId, String token) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 得到发票接口返回值
     * @author zhuliang
     * @date 2021/2/1 15:27
     */
    @Override
    public Result getInvoicing(String result, String token, String orderNumber) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    @Override
    public void exportSummaryReport(HttpServletResponse response,String startDate,String endDate,List<String> areaNumberIds, String token) {

    }

    @Override
    public void exportSummaryReportByClient(HttpServletResponse response, String startDate, String endDate,List<String> areaNumberIds,String token) {

    }

    @Override
    public void exportDebtDetailReport(HttpServletResponse response,String startDate, List<String> areaNumberIds, String token) {

    }
}
